package cn.iocoder.yudao.module.api.member.vip.enums;

import cn.iocoder.yudao.framework.business.basic.enums.EnumValuable;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.Getter;
import lombok.RequiredArgsConstructor;

/**
 * <pre>
 * OOoO0OOoO0OOOooo0oOOOO0OOOOO0oooOO0ooOOO0Ooooo0OOOOo0ooooO0OOooo0Ooooo0OOOOO
 * 会员等级枚举，拉人头一级分销规则如下：
 * 直推或间推1个会员送1个贡献值，普通用户付费50元购买会员后才有分销资格。
 * 一级黑铁会员，达到100个贡献值，分会员费10%。
 * 二级青铜会员，达到200贡献值，分会员费20%。
 * 三级白银会员，达到300贡献值，分会员费30%。
 * 四级黄金会员，达到400贡献值，分会员费40%。
 * 五级铂金会员，达到500贡献值，分会员费50%。
 * 贡献值不可转赠，每个自然月最后一天结算，计算当前当月贡献值，划分当前用户所属等级进行佣金奖励。
 * 不满足贡献值数量只能领取低一级或者无奖励，下月达到下月拿。
 * 达到五级成为股东，公司送1-10%的加权分红股。
 * 付费成为会员合伙人后级差奖在拿就不影响分红，没有级差奖了就取消分红权，只保留原始股，可继承贡献值。
 * OOoO0OOoO0OOOooo0oOOOO0OOOOO0oooOO0ooOOO0Ooooo0OOOOo0ooooO0OOooo0Ooooo0OOOOO
 * </pre>
 *
 * @author 山野羡民（1032694760@qq.com）
 * @since 2025/01/09
 */
@RequiredArgsConstructor
@Getter
public enum VipLevelEnum implements EnumValuable {
    NORMAL(0, "普通会员"),
    BLACK_IRON(1, "黑铁会员"),
    BRONZE(2, "青铜会员"),
    SILVER(3, "白银会员"),
    GOLD(4, "黄金会员"),
    PURPLE_JADE(5, "紫玉会员"),
    ;

    @EnumValue
    private final Integer value;
    private final String name;

    public static VipLevelEnum valueOf(Integer value) {
        for (VipLevelEnum level : values()) {
            if (level.getValue().equals(value)) {
                return level;
            }
        }
        return NORMAL;
    }

}
